#include "pthread.h"

//收数据
void *r_pthread(void *arg_fd)
{
    int Sock_fd = *((int *)arg_fd);
    //创建协议
    agr info;
    //创建字符串
    char buf[1024];
    char name[128]=" ";

    while (1)
    {
        //清空字符串 和 协议信息
        memset(buf,0,sizeof(buf));
        memset(info.buf,0,sizeof(info.buf));
        //接收数据
        recv(Sock_fd,info.buf,sizeof(info.buf),0);
        //判断信息类型
        if (1 == info.Name.bytes)
        {
            //写入姓名
            strcpy(name,info.Name.Name);
            //打印写入成功
            printf("昵称修改成功:[%s]\n",name);
        }
        else if (2 == info.Data.bytes)
        {
            //打印信息
            printf("[%s]:|%s|\n",name,info.Data.Data);
        }
    }
    
}
//发数据
void *w_pthread(void *arg_fd)
{
    int Sock_fd = *((int *)arg_fd);
    //创建协议
    agr info;
    //创建字符串
    char buf[1024];

    while (1)
    {
        //输入信息
        printf("请输入信息:");
        scanf("%s",buf);
        printf("\n");
        //组装信息 发送名称
        if (!strcmp("set_name",buf))
        {
            printf("请输入昵称:");
            scanf("%s",buf);

            strcpy(info.Name.Name,buf);
            info.Name.bytes = 1;

            //发送信息
            send(Sock_fd,info.buf,strlen(info.buf),0);
        }
        else{
            //组装信息 发送数据
            strcpy(info.Data.Data,buf);
            info.Data.bytes = 2;

            //发送信息
            send(Sock_fd,info.buf,strlen(info.buf),0);
        }
    }
}